import store from '@/store'
import Vue from 'vue'
// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
	// 当被绑定的元素插入到 DOM 中时…… <input v-fouce />
	inserted: function (el) {
		// 聚焦元素
		el.focus()
		console.log('聚焦元素>>')
	}
})

Vue.directive('permision', {
	/**
     * el：指令所绑定的元素，可以用来直接操作 DOM。
        binding：一个对象，包含以下 property：
            name：指令名，不包括 v- 前缀。
            value：指令的绑定值，例如：v-my-directive="2" 中，绑定值为 2。
     * @param {*} el 
     * @param {*} bind 
     */
	inserted: function (el, {value}) {
	
        let resources = store.getters.resources
        if(!resources) return

        if(value && value instanceof Array && value.length>0){
            //判断value中值是否存在reource中
            const hasPermission = resources.some(resource=>{
                return value.includes(resource)  // [RemoveShop]
            })
        
            if(!hasPermission){
                // 没有权限
                el.parentNode && el.parentNode.removeChild(el)
            }else{
                // throw new Error('need rols! Like v-perisson =["AddUser","EditUser"]')
            }
        }
	}
})
